package com.zlp.mall.modules.pms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zlp.mall.common.api.Pager;
import com.zlp.mall.modules.pms.dto.req.BrandAddReq;
import com.zlp.mall.modules.pms.dto.resp.BrandResp;
import com.zlp.mall.modules.pms.model.Brand;

import java.util.List;

/**
 * <p>
 * 品牌表 服务类
 * </p>
 *
 * @author ZouLiPing
 * @since 2021-09-23
 */
public interface BrandService extends IService<Brand> {

    /** 
     * 获取品牌分页列表
     * @param keyword
     * @param pageNum
     * @param pageSize
     * @date: 2021/9/26 16:48
     * @return: com.zlp.mall.common.api.Pager<com.zlp.mall.modules.pms.dto.resp.BrandResp> 
     */
    Pager<BrandResp> list(String keyword, Integer pageNum, Integer pageSize);

    /** 
     * 修改是否显示
     * @param ids
     * @param showStatus
     * @date: 2021/9/27 14:50
     * @return: boolean 
     */
    boolean updateShowStatus(List<Long> ids, Integer showStatus);

    /** 
     * 根据ID获取品牌信息
     * @param id
     * @date: 2021/9/27 14:57
     * @return: com.zlp.mall.modules.pms.dto.resp.BrandResp 
     */
    BrandResp getInfoById(Long id);

    /** 
     * 根据ID删除品牌
     * @param id
     * @date: 2021/9/27 15:03
     * @return: boolean 
     */
    boolean delete(Long id);

    /** 
     * 添加品牌
     * @param brandAddReq
     * @date: 2021/9/27 15:41
     * @return: boolean 
     */
    boolean createBrand(BrandAddReq brandAddReq);

    /**
     * 更新品牌
     * @param id
     * @param brandAddReq
     * @date: 2021/9/27 15:48
     * @return: boolean
     */
    boolean updateBrand(Long id, BrandAddReq brandAddReq);
}
